package com.ruoyi.cems.domain;

import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 工作检查单对象 bms_work_checklists
 * 
 * @author ruoyi
 * @date 2024-07-23
 */
@Data
@ApiModel(description = "工作检查单对象")
public class BmsWorkChecklists extends BmsBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工号 */
    @Excel(name = "工号")
    @ApiModelProperty("工号")
    private String jobNumber;

    /** 岗位名称 */
    @Excel(name = "岗位名称")
    @ApiModelProperty("岗位名称")
    private String position;

    /** 隶属 */
    @Excel(name = "隶属")
    @ApiModelProperty("隶属")
    private String belong;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty("联系人")
    private String checkPeople;

    /** 联系人ID */
    @ApiModelProperty("联系人ID")
    private String checkPeopleId;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    private String phone;

    /** 检查时间 */
    @Excel(name = "检查时间")
    @ApiModelProperty("检查时间")
    private Date checkTime;

    /** 应急通知单ID */
    @Excel(name = "应急通知单ID")
    @ApiModelProperty("应急通知单ID")
    private String enId;

    /** 检查单名称 */
    @Excel(name = "检查单名称")
    @ApiModelProperty("检查单名称")
    private String checkName;

    /** 等级 */
    @Excel(name = "等级")
    @ApiModelProperty("等级")
    private String level;

    /** 场景 */
    @Excel(name = "场景")
    @ApiModelProperty("场景")
    private String view;

    /** 关联任务 */
    @Excel(name = "关联任务")
    @ApiModelProperty("关联任务")
    private String taskNo;

    /** 通知状态 */
    @Excel(name = "通知状态")
    @ApiModelProperty("通知状态（true-接收、false-关闭）")
    private Boolean noticeStatus;

    @Excel(name = "呼叫响应状态")
    @ApiModelProperty("呼叫响应状态（已接听、未接听）")
    private String callStatus;

    @Excel(name = "检查单状态")
    @ApiModelProperty("检查单状态（新建、待填写、已提交、已关闭）")
    private String status;

    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("个人工作")
    private boolean personalWork;

    @ApiModelProperty("呼叫时间")
    private Date tcdlCallTime;//呼叫时间

    @ApiModelProperty("接通时间")
    private String tcdlAnswerTime;//接通时间

    @ApiModelProperty("挂机时间")
    private String tcdlHangupTime;//挂机时间

    @ApiModelProperty("呼叫次数")
    private Integer tcdlCallCount;//呼叫次数

    @ApiModelProperty("呼叫结果")
    private String tcdlCallResult;//呼叫结果

    @ApiModelProperty("呼叫状态")
    private String tcdlCallState;//呼叫状态

    @ApiModelProperty("是否确认")
    private String tcdlSign;//是否确认

    @ApiModelProperty("是否到岗")
    private Integer duty;

    @ApiModelProperty("到岗时间")
    private Date dutyTime;

    @ApiModelProperty("进度")
    private String progress;

    private boolean flag;//是否有对应通知单

    private String positionName;

    @ApiModelProperty("单位编码")
    private String unitCode;
    
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ID", getID())
            .append("REVISION", getREVISION())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("jobNumber", getJobNumber())
            .append("position", getPosition())
            .append("belong", getBelong())
            .append("checkPeople", getCheckPeople())
            .append("phone", getPhone())
            .append("checkTime", getCheckTime())
            .append("enId", getEnId())
            .append("checkName", getCheckName())
            .append("level", getLevel())
            .append("view", getView())
            .append("taskNo", getTaskNo())
            .append("noticeStatus", getNoticeStatus())
            .append("remark", getRemark())
            .toString();
    }
}
